# -*- encoding: utf-8 -*-
"""

PyCharm 图像混合.py
2024年10月20日14时23分
by wenyang

"""
from PIL import Image

def main():
    # 混合 混合的图片的大小必须要一致才能进行混合操作 格式也要保持一致 最好是RGB格式
    # 通过使用pillow模块中的Image类的blend方法来进行图像的混合操作
    img_one = Image.open("./image/cameraman.tif", mode = "r").convert(mode = "RGB") # 设置格式就是RGB格式
    img_two = Image.open("./image/lena_color_512.tif", mode = "r").convert(mode = "RGB")
    img_new = Image.new("RGB", img_one.size, "red")
    # img_new.show() # 显示红色的图像
    # print(img_one.size, img_two.size)
    img_mixed = Image.blend(img_one, img_two, 0.5) # 计算公式就是img * (1.0 - alpha) + img2 * alpha
    img_mixed.show()
    img_one_all = Image.blend(img_one, img_two, 0)
    img_one_all.show()
    # 还有一种方式进行混合就是通过使用遮罩混合的操作
    img1 = Image.open("./image/cameraman.tif", mode = "r").convert(mode = "RGB")
    img2 = Image.open("./image/lena_color_512.tif", mode = "r").convert(mode = "RGB")
    mask = img2.resize(img1.size)
    r, g, b = img2.split()
    Image.composite(img2, img1, b).show()


if __name__ == "__main__":
    main()
